Automatic gain control (AGC) of speech signals is used to maintain the level of a signal representing speech relatively constant. Most existing circuits designed for automatic gain control of speech suffer from at least one of the following problems (1) they respond slower than necessary to changes in the average amplitude of the speech, (2) they sound unnatural due to allowing the speech amplitude to adapt too quickly, or (3) they allow extraneous sounds to be subject to AGC also. Most of those circuits respond slower than necessary because they use all available information present at the input of the AGC. Therefore, they must use very long time constants for smoothing because of the highly variable nature of the amplitudes of the signals (speech, noise, and silent passages are all included in the input information). Improvements have been made in other AGCs by processing only the largest amplitude signals within a given range of the expected signal, where the expected signal was derived from ongoing information. With this approach, if no information is received within the expected range, the estimate of the expected signal would be gradually lowered until information is again received within the expected range. In order to make the AGC sound natural, the process of changing the expected range of information must occur fairly slowly to prevent performing AGC on low amplitudes of information that occur in normal speech. Some AGCs process only information that contains components in a particular frequency band, in which it is assumed that most of the information will be speech. That approach has obvious shortcomings because many sounds that are not speech have components in the speech range and also because there could be a very large variation in the amplitudes of the speech within the particular frequency band (in that both voiced and unvoiced sounds may meet the criteria). Thus, a need exists for an AGC circuit that allows a faster AGC response time with natural sounding speech, and will not increase the gain on non-speech background noise during pauses or when the user is in a high noise environment.